package initialize

import (
	"GIN-API/global"
	"fmt"
	"gorm.io/driver/mysql"
	"gorm.io/gorm"
	"log"
)

// InitDatabase  连接数据库
func InitDatabase() *gorm.DB {

	dsn := fmt.Sprintf("%s:%s@tcp(%s:%s)/%s?charset=utf8mb4&parseTime=True&loc=Local",
		global.Cfg.DBUser, global.Cfg.DBPassword, global.Cfg.DBHost, global.Cfg.DBPort, global.Cfg.DBName)
	db, err := gorm.Open(mysql.Open(dsn), &gorm.Config{})
	if err != nil {
		panic("无法连接到数据库" + err.Error())
	}
	log.Println("成功连接到数据库")
	//// 自动迁移模式 挪到了main中，因为会产生循环依赖
	//db.AutoMigrate(&models.Product{})
	//if err != nil {
	//	log.Fatalf("数据库迁移失败: %v", err)

	//}
	//log.Println("数据库迁移完成")
	return db
}
